/*
 *   封装 ajax方法
 *   传入的是opt对象
 *   opt.method   请求的方法
 *   opt.src      请求的地址
 *   opt.async    是否异步,true为异步，false为同步
 *   opt.data     发送的数据
 *   opt.success  请求成功的回调函数
 */
function ajax(opt) {
	opt = opt || {};
	opt.method = opt.method.toLowerCase() || 'POST';
	opt.src = opt.src || '';
	opt.async = opt.async || true;
	opt.data = opt.data || null;
	opt.success = opt.success || function() {};

	//准备工作
	var xhr;
	if(window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	} else {
		xhr = new ActiveXObject('Microsoft.XMLHTTP');
	}

	//处理发送的数据
	var datas = [];
	for(var key in opt.data) {
		datas.push(key + '=' + opt.data[key]);
	}
	var sendData = datas.join('&');

	//判断请求的方法
	if(opt.method.toLocaleLowerCase() == 'post') {
		//开启请求通道
		xhr.open(opt.method, opt.src, opt.async);
		//post方法需要设置请求头
		xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
		//发送请求及数据
		xhr.send(sendData);
	} else if(opt.method.toLocaleLowerCase() == 'get') {
		//开启请求通道
		xhr.open(opt.method, opt.src + '?' + sendData, opt.async);
		//发送请求及数据
		xhr.send();
	}

	//等待请求
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			//请求成功调用传入的成功回调函数
			opt.success(xhr.responseText);
		}
	}
}
